home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / thesrc10.zip / GETCH.H < prev    next >
C/C++ Source or Header  |  1992-08-11  |  20KB  |  569 lines

  1.  
  2. /*
  3.  * This software is Copyright (c) 1989, 1990, 1991 by Patrick J. Wolfe.
  4.  *
  5.  * Permission is hereby granted to copy, distribute or otherwise
  6.  * use any part of this package as long as you do not try to make
  7.  * money from it or pretend that you wrote it.  This copyright
  8.  * notice must be maintained in any copy made.
  9.  *
  10.  * Use of this software constitutes acceptance for use in an AS IS
  11.  * condition. There are NO warranties with regard to this software.
  12.  * In no event shall the author be liable for any damages whatsoever
  13.  * arising out of or in connection with the use or performance of this
  14.  * software.  Any use of this software is at the user's own risk.
  15.  *
  16.  * If you make modifications to this software that you feel
  17.  * increases it usefulness for the rest of the community, please
  18.  * email the changes, enhancements, bug fixes as well as any and
  19.  * all ideas to me. This software is going to be maintained and
  20.  * enhanced as deemed necessary by the community.
  21.  *
  22.  *              Patrick J. Wolfe
  23.  *              uunet!uiucuxc!kailand!pwolfe
  24.  *              pwolfe@kailand.kai.com
  25.  *
  26.  * Additions of DOS keys and extended function key descriptions
  27.  * made by Mark Hessling.
  28.  *
  29.  */
  30.  
  31. #ifndef SYSVcurses
  32. /* System V curses key names and codes returned by getch */
  33. #define KEY_MIN         0x101           /* Minimum curses key */
  34. #define KEY_BREAK    0x101    /* Not on PC KBD         */
  35. #define KEY_DOWN    0x102    /* Down arrow key         */
  36. #define KEY_UP        0x103    /* Up arrow key             */
  37. #define KEY_LEFT    0x104    /* Left arrow key         */
  38. #define KEY_RIGHT    0x105    /* Right arrow key         */
  39. #define KEY_HOME    0x106    /* home key             */
  40. #define KEY_BACKSPACE    0x107    /* not on pc             */
  41. #define KEY_F0        0x108    /* function keys. space for     */
  42. #define KEY_F(n)    (KEY_F0+(n))/* 64 keys are reserved.     */
  43. #define KEY_DL        0x148    /* not on pc             */
  44. #define KEY_IL        0x149    /* insert line             */
  45. #define KEY_DC        0x14a    /* delete character         */
  46. #define KEY_IC        0x14b    /* insert char or enter ins mode */
  47. #define KEY_EIC        0x14c    /* exit insert char mode     */
  48. #define KEY_CLEAR    0x14d    /* clear screen             */
  49. #define KEY_EOS        0x14e    /* clear to end of screen     */
  50. #define KEY_EOL        0x14f    /* clear to end of line         */
  51. #define KEY_SF        0x150    /* scroll 1 line forward     */
  52. #define KEY_SR        0x151    /* scroll 1 line back (reverse)     */
  53. #define KEY_NPAGE    0x152    /* next page             */
  54. #define KEY_PPAGE    0x153    /* previous page         */
  55. #define KEY_STAB    0x154    /* set tab             */
  56. #define KEY_CTAB    0x155    /* clear tab             */
  57. #define KEY_CATAB    0x156    /* clear all tabs         */
  58. #define KEY_ENTER    0x157    /* enter or send (unreliable)     */
  59. #define KEY_SRESET    0x158    /* soft/reset (partial/unreliable)*/
  60. #define KEY_RESET    0x159    /* reset/hard reset (unreliable) */
  61. #define KEY_PRINT    0x15a    /* print/copy             */
  62. #define KEY_LL        0x15b    /* home down/bottom (lower left) */
  63. #define KEY_ABORT    0x15c    /* abort/terminate key (any)     */
  64. #define KEY_SHELP    0x15d    /* short help             */
  65. #define KEY_LHELP    0x15e    /* long help             */
  66. #define KEY_BTAB        0x15f            /* Back tab key */
  67. #define KEY_BEG         0x160            /* beg(inning) key */
  68. #define KEY_CANCEL      0x161             /* cancel key */
  69. #define KEY_CLOSE       0x162             /* close key */
  70. #define KEY_COMMAND     0x163             /* cmd (command) key */
  71. #define KEY_COPY        0x164             /* copy key */
  72. #define KEY_CREATE      0x165             /* create key */
  73. #define KEY_END         0x166             /* end key */
  74. #define KEY_EXIT        0x167             /* exit key */
  75. #define KEY_FIND        0x168             /* find key */
  76. #define KEY_HELP        0x169             /* help key */
  77. #define KEY_MARK        0x16a             /* mark key */
  78. #define KEY_MESSAGE     0x16b             /* message key */
  79. #define KEY_MOVE        0x16c             /* move key */
  80. #define KEY_NEXT        0x16d             /* next object key */
  81. #define KEY_OPEN        0x16e             /* open key */
  82. #define KEY_OPTIONS     0x16f             /* options key */
  83. #define KEY_PREVIOUS    0x170             /* previous object key */
  84. #define KEY_REDO        0x171             /* redo key */
  85. #define KEY_REFERENCE   0x172             /* ref(erence) key */
  86. #define KEY_REFRESH     0x173             /* refresh key */
  87. #define KEY_REPLACE     0x174             /* replace key */
  88. #define KEY_RESTART     0x175             /* restart key */
  89. #define KEY_RESUME      0x176             /* resume key */
  90. #define KEY_SAVE        0x177             /* save key */
  91. #define KEY_SBEG        0x178             /* shifted beginning key */
  92. #define KEY_SCANCEL     0x179             /* shifted cancel key */
  93. #define KEY_SCOMMAND    0x17a             /* shifted command key */
  94. #define KEY_SCOPY       0x17b             /* shifted copy key */
  95. #define KEY_SCREATE     0x17c             /* shifted create key */
  96. #define KEY_SDC         0x17d             /* shifted delete char key */
  97. #define KEY_SDL         0x17e             /* shifted delete line key */
  98. #define KEY_SELECT      0x17f             /* select key */
  99. #define KEY_SEND        0x180             /* shifted end key */
  100. #define KEY_SEOL        0x181             /* shifted clear line key */
  101. #define KEY_SEXIT       0x182             /* shifted exit key */
  102. #define KEY_SFIND       0x183             /* shifted find key */
  103. #define KEY_SHOME       0x184             /* shifted home key */
  104. #define KEY_SIC         0x185             /* shifted input key */
  105. #define KEY_SLEFT       0x187             /* shifted left arrow key */
  106. #define KEY_SMESSAGE    0x188             /* shifted message key */
  107. #define KEY_SMOVE       0x189             /* shifted move key */
  108. #define KEY_SNEXT       0x18a             /* shifted next key */
  109. #define KEY_SOPTIONS    0x18b             /* shifted options key */
  110. #define KEY_SPREVIOUS   0x18c             /* shifted prev key */
  111. #define KEY_SPRINT      0x18d             /* shifted print key */
  112. #define KEY_SREDO       0x18e             /* shifted redo key */
  113. #define KEY_SREPLACE    0x18f             /* shifted replace key */
  114. #define KEY_SRIGHT      0x190             /* shifted right arrow */
  115. #define KEY_SRSUME      0x191             /* shifted resume key */
  116. #define KEY_SSAVE       0x192             /* shifted save key */
  117. #define KEY_SSUSPEND    0x193             /* shifted suspend key */
  118. #define KEY_SUNDO       0x194             /* shifted undo key */
  119. #define KEY_SUSPEND     0x195             /* suspend key */
  120. #define KEY_UNDO        0x196             /* undo key */
  121. #define KEY_A1          0x197             /* Upper left of keypad */
  122. #define KEY_A3          0x198             /* Upper right of keypad */
  123. #define KEY_B2          0x199             /* Center of keypad */
  124. #define KEY_C1          0x19a             /* Lower left of keypad */
  125. #define KEY_C3          0x19b             /* Lower right of keypad */
  126. #define KEY_MAX         0xfff             /* Maximum curses key */
  127. #endif /* NOT SYSVcurses */
  128.  
  129. #if !defined(DOS) && !defined(OS2)
  130.  
  131. /* vt220 special keys */
  132.  
  133. #define KEY_F1         KEY_F(1)
  134. #define KEY_F2         KEY_F(2)
  135. #define KEY_F3         KEY_F(3)
  136. #define KEY_F4         KEY_F(4)
  137. #define KEY_F5         KEY_F(5)
  138. #define KEY_F6         KEY_F(6)
  139. #define KEY_F7         KEY_F(7)
  140. #define KEY_F8         KEY_F(8)
  141. #define KEY_F9         KEY_F(9)
  142. #define KEY_F10        KEY_F(10)
  143. #define KEY_F11        KEY_F(11)
  144. #define KEY_F12        KEY_F(12)
  145. #define KEY_F13        KEY_F(13)
  146. #define KEY_F14        KEY_F(14)
  147. #define KEY_F15        KEY_F(15)
  148. #define KEY_Help       KEY_F(15)
  149. #define KEY_F16        KEY_F(16)
  150. #define KEY_Do         KEY_F(16)
  151. #define KEY_F17        KEY_F(17)
  152. #define KEY_F18        KEY_F(18)
  153. #define KEY_F19        KEY_F(19)
  154. #define KEY_F20        KEY_F(20)
  155. #define KEY_SF1        KEY_F(21)
  156. #define KEY_SF2        KEY_F(22)
  157. #define KEY_SF3        KEY_F(23)
  158. #define KEY_SF4        KEY_F(24)
  159. #define KEY_SF5        KEY_F(25)
  160. #define KEY_SF6        KEY_F(26)
  161. #define KEY_SF7        KEY_F(27)
  162. #define KEY_SF8        KEY_F(28)
  163. #define KEY_SF9        KEY_F(29)
  164. #define KEY_SF10       KEY_F(30)
  165. #define KEY_SF11       KEY_F(31)
  166. #define KEY_SF12       KEY_F(32)
  167. #define KEY_SF13       KEY_F(33)
  168. #define KEY_SF14       KEY_F(34)
  169. #define KEY_SF15       KEY_F(35)
  170. #define KEY_SHelp      KEY_F(35)
  171. #define KEY_SF16       KEY_F(36)
  172. #define KEY_SDo        KEY_F(36)
  173. #define KEY_SF17       KEY_F(37)
  174. #define KEY_SF18       KEY_F(38)
  175. #define KEY_SF19       KEY_F(39)
  176. #define KEY_SF20       KEY_F(40)
  177. #define KEY_PF1        0631
  178. #define KEY_PF2        0632
  179. #define KEY_PF3        0633
  180. #define KEY_PF4        0634
  181. #define KEY_Pad0       0635
  182. #define KEY_Pad1       0636
  183. #define KEY_Pad2       0637
  184. #define KEY_Pad3       0640
  185. #define KEY_Pad4       0641
  186. #define KEY_Pad5       0642
  187. #define KEY_Pad6       0643
  188. #define KEY_Pad7       0644
  189. #define KEY_Pad8       0645
  190. #define KEY_Pad9       0646
  191. #define KEY_PadEnter   0647
  192. #define KEY_PadMinus   0650
  193. #define KEY_PadPeriod  0651
  194. #define KEY_PadComma   0652
  195. #define KEY_Pad00      0653
  196. #define KEY_BackTab    0654
  197. #define KEY_Find       KEY_FIND
  198. #define KEY_InsertHere KEY_IC
  199. #define KEY_Remove     KEY_REPLACE
  200. #define KEY_Select     KEY_SELECT
  201. #define KEY_PrevScreen KEY_PPAGE
  202. #define KEY_PrevScrn   KEY_PPAGE
  203. #define KEY_NextScreen KEY_NPAGE
  204. #define KEY_NextScrn   KEY_NPAGE
  205. #define KEY_CLEFT      0655
  206. #define KEY_CRIGHT     0656
  207. #define KEY_CUP        0657
  208. #define KEY_CDOWN      0660
  209. #define KEY_CHOME      0661
  210. #define KEY_CEND       0662
  211. #define KEY_CPGUP      0663
  212. #define KEY_CPGDN      0664
  213.  
  214. /* ascii control codes */
  215. #define ControlA       001
  216. #define ControlB       002
  217. #define ControlC       003
  218. #define ControlD       004
  219. #define ControlE       005
  220. #define ControlF       006
  221. #define ControlG       007
  222. #define ControlH       010
  223. #define BackSpace      010
  224. #define ControlI       011
  225. #define Tab            011
  226. #define ControlJ       012
  227. #define LineFeed       012
  228. #define ControlK       013
  229. #define ControlL       014
  230. #define ControlM       015
  231. #define Return         015
  232. #define ControlN       016
  233. #define ControlO       017
  234. #define ControlP       020
  235. #define ControlQ       021
  236. #define ControlR       022
  237. #define ControlS       023
  238. #define ControlT       024
  239. #define ControlU       025
  240. #define ControlV       026
  241. #define ControlW       027
  242. #define ControlX       030
  243. #define ControlY       031
  244. #define ControlZ       032
  245. #define Escape         033
  246. #define Del            0177
  247. #define CSI            0233
  248. #endif
  249.  
  250. #if defined(DOS) || defined(OS2)
  251. /* normal characters */
  252. #define KEY_a      0x61
  253. #define KEY_b      0x62
  254. #define KEY_c      0x63
  255. #define KEY_d      0x64
  256. #define KEY_e      0x65
  257. #define KEY_f      0x66
  258. #define KEY_g      0x67
  259. #define KEY_h      0x68
  260. #define KEY_i      0x69
  261. #define KEY_j      0x6a
  262. #define KEY_k      0x6b
  263. #define KEY_l      0x6c
  264. #define KEY_m      0x6d
  265. #define KEY_n      0x6e
  266. #define KEY_o      0x6f
  267. #define KEY_p      0x70
  268. #define KEY_q      0x71
  269. #define KEY_r      0x72
  270. #define KEY_s      0x73
  271. #define KEY_t      0x74
  272. #define KEY_u      0x75
  273. #define KEY_v      0x76
  274. #define KEY_w      0x77
  275. #define KEY_x      0x78
  276. #define KEY_y      0x79
  277. #define KEY_z      0x7a
  278. #define KEY_0      0x30
  279. #define KEY_1      0x31
  280. #define KEY_2      0x32
  281. #define KEY_3      0x33
  282. #define KEY_4      0x34
  283. #define KEY_5      0x35
  284. #define KEY_6      0x36
  285. #define KEY_7      0x37
  286. #define KEY_8      0x38
  287. #define KEY_9      0x39
  288. #define KEY_BQUOTE      0x60
  289. #define KEY_MINUS      0x2d
  290. #define KEY_EQUAL      0x3d
  291. #define KEY_LBRACKET      0x5b
  292. #define KEY_RBRACKET      0x5d
  293. #define KEY_BSLASH      0x5c
  294. #define KEY_SEMICOLON      0x3b
  295. #define KEY_FQUOTE      0x27
  296. #define KEY_COMMA      0x2c
  297. #define KEY_STOP      0x2e
  298. #define KEY_FSLASH      0x2f
  299. #define KEY_SPACE      0x20
  300. #define KEY_ENTER      0xd
  301. #define KEY_TAB      0x9
  302. #define KEY_ESC      0x1b
  303. #define KEY_BKSP      0x8
  304. #define KEY_F1      KEY_F(1)
  305. #define KEY_F2      KEY_F(2)
  306. #define KEY_F3      KEY_F(3)
  307. #define KEY_F4      KEY_F(4)
  308. #define KEY_F5      KEY_F(5)
  309. #define KEY_F6      KEY_F(6)
  310. #define KEY_F7      KEY_F(7)
  311. #define KEY_F8      KEY_F(8)
  312. #define KEY_F9      KEY_F(9)
  313. #define KEY_F10     KEY_F(10)
  314. #define KEY_F11     KEY_F(41)
  315. #define KEY_F12     KEY_F(42)
  316. #define KEY_PGUP      KEY_PPAGE
  317. #define KEY_PGDN      KEY_NPAGE
  318. #define KEY_CURU      KEY_UP
  319. #define KEY_CURD      KEY_DOWN
  320. #define KEY_CURL      KEY_LEFT
  321. #define KEY_CURR      KEY_RIGHT
  322. #define KEY_INS      KEY_IC
  323. #define KEY_DEL      KEY_DC
  324. #define KEY_NUMCENTER      KEY_B2
  325. #define KEY_NUMPLUS        PADPLUS
  326. #define KEY_NUMMINUS       PADMINUS
  327. #define KEY_NUMSLASH       PADSLASH
  328. #define KEY_NUMSTAR        PADSTAR
  329. #define KEY_NUMENTER       PADENTER
  330. /* shifted characters */
  331. #define KEY_S_a      0x41
  332. #define KEY_S_b      0x42
  333. #define KEY_S_c      0x43
  334. #define KEY_S_d      0x44
  335. #define KEY_S_e      0x45
  336. #define KEY_S_f      0x46
  337. #define KEY_S_g      0x47
  338. #define KEY_S_h      0x48
  339. #define KEY_S_i      0x49
  340. #define KEY_S_j      0x4a
  341. #define KEY_S_k      0x4b
  342. #define KEY_S_l      0x4c
  343. #define KEY_S_m      0x4d
  344. #define KEY_S_n      0x4e
  345. #define KEY_S_o      0x4f
  346. #define KEY_S_p      0x50
  347. #define KEY_S_q      0x51
  348. #define KEY_S_r      0x52
  349. #define KEY_S_s      0x53
  350. #define KEY_S_t      0x54
  351. #define KEY_S_u      0x55
  352. #define KEY_S_v      0x56
  353. #define KEY_S_w      0x57
  354. #define KEY_S_x      0x58
  355. #define KEY_S_y      0x59
  356. #define KEY_S_z      0x5a
  357. #define KEY_S_0      0x29
  358. #define KEY_S_1      0x21
  359. #define KEY_S_2      0x40
  360. #define KEY_S_3      0x23
  361. #define KEY_S_4      0x24
  362. #define KEY_S_5      0x25
  363. #define KEY_S_6      0x5e
  364. #define KEY_S_7      0x26
  365. #define KEY_S_8      0x2a
  366. #define KEY_S_9      0x28
  367. #define KEY_S_BQUOTE      0x7e
  368. #define KEY_S_MINUS      0x5f
  369. #define KEY_S_EQUAL      0x2b
  370. #define KEY_S_LBRACKET      0x7b
  371. #define KEY_S_RBRACKET      0x7d
  372. #define KEY_S_BSLASH      0x7c
  373. #define KEY_S_SEMICOLON      0x3a
  374. #define KEY_S_FQUOTE      0x22
  375. #define KEY_S_COMMA      0x3c
  376. #define KEY_S_STOP      0x3e
  377. #define KEY_S_FSLASH      0x3f
  378. #define KEY_S_TAB     KEY_BACKTAB
  379. #define KEY_S_F1      KEY_F(11)
  380. #define KEY_S_F2      KEY_F(12)
  381. #define KEY_S_F3      KEY_F(13)
  382. #define KEY_S_F4      KEY_F(14)
  383. #define KEY_S_F5      KEY_F(15)
  384. #define KEY_S_F6      KEY_F(16)
  385. #define KEY_S_F7      KEY_F(17)
  386. #define KEY_S_F8      KEY_F(18)
  387. #define KEY_S_F9      KEY_F(19)
  388. #define KEY_S_F10     KEY_F(20)
  389. #define KEY_S_F11     KEY_F(43)
  390. #define KEY_S_F12     KEY_F(44)
  391. #define KEY_S_HOME    KEY_HOME
  392. #define KEY_S_PGUP    KEY_PGUP
  393. #define KEY_S_PGDN    KEY_PGDN
  394. #define KEY_S_CURU    KEY_CURU
  395. #define KEY_S_CURD    KEY_CURD
  396. #define KEY_S_CURL    KEY_CURL
  397. #define KEY_S_CURR    KEY_CURR
  398. #define KEY_S_END     KEY_END
  399. #define KEY_S_INS     KEY_INS
  400. #define KEY_S_DEL     KEY_DEL
  401. #define KEY_S_NUM0     0x30
  402. #define KEY_S_NUM1     0x31
  403. #define KEY_S_NUM2     0x32
  404. #define KEY_S_NUM3     0x33
  405. #define KEY_S_NUM4     0x34
  406. #define KEY_S_NUM5     0x35
  407. #define KEY_S_NUM6     0x36
  408. #define KEY_S_NUM7     0x37
  409. #define KEY_S_NUM8     0x38
  410. #define KEY_S_NUM9     0x39
  411. #define KEY_S_NUMSTOP  SHF_PADSTOP
  412. #define KEY_S_NUMCENTER  KEY_5
  413. /* control characters */
  414. #define KEY_C_a      0x1
  415. #define KEY_C_b      0x2
  416. #define KEY_C_c      0x3
  417. #define KEY_C_d      0x4
  418. #define KEY_C_e      0x5
  419. #define KEY_C_f      0x6
  420. #define KEY_C_g      0x7
  421. #define KEY_C_h      0x8
  422. #define KEY_C_i      0x9
  423. #define KEY_C_j      0xa
  424. #define KEY_C_k      0xb
  425. #define KEY_C_l      0xc
  426. #define KEY_C_m      0xd
  427. #define KEY_C_n      0xe
  428. #define KEY_C_o      0xf
  429. #define KEY_C_p      0x10
  430. #define KEY_C_q      0x11
  431. #define KEY_C_r      0x12
  432. #define KEY_C_s      0x13
  433. #define KEY_C_t      0x14
  434. #define KEY_C_u      0x15
  435. #define KEY_C_v      0x16
  436. #define KEY_C_w      0x17
  437. #define KEY_C_x      0x18
  438. #define KEY_C_y      0x19
  439. #define KEY_C_z      0x1a
  440. #define KEY_C_2      0x0
  441. #define KEY_C_6      0x1e
  442. #define KEY_C_MINUS      0x1f
  443. #define KEY_C_LBRACKET      0x1b
  444. #define KEY_C_RBRACKET      0x1d
  445. #define KEY_C_BSLASH      0x1c
  446. #define KEY_C_ENTER      0xa
  447. #define KEY_C_TAB     CTL_TAB
  448. #define KEY_C_BKSP    CTL_BKSP
  449. #define KEY_C_F1      KEY_F(21)
  450. #define KEY_C_F2      KEY_F(22)
  451. #define KEY_C_F3      KEY_F(23)
  452. #define KEY_C_F4      KEY_F(24)
  453. #define KEY_C_F5      KEY_F(25)
  454. #define KEY_C_F6      KEY_F(26)
  455. #define KEY_C_F7      KEY_F(27)
  456. #define KEY_C_F8      KEY_F(28)
  457. #define KEY_C_F9      KEY_F(29)
  458. #define KEY_C_F10     KEY_F(30)
  459. #define KEY_C_F11     KEY_F(45)
  460. #define KEY_C_F12     KEY_F(46)
  461. #define KEY_C_HOME    CTL_HOME
  462. #define KEY_C_PGUP    CTL_PGUP
  463. #define KEY_C_PGDN    CTL_PGDN
  464. #define KEY_C_CURU    CTL_UP
  465. #define KEY_C_CURD    CTL_DOWN
  466. #define KEY_C_CURL    CTL_LEFT
  467. #define KEY_C_CURR    CTL_RIGHT
  468. #define KEY_C_END     CTL_END
  469. #define KEY_C_INS     CTL_INS
  470. #define KEY_C_DEL     CTL_DEL
  471. #define KEY_C_NUM0    CTL_INS
  472. #define KEY_C_NUM1    CTL_END
  473. #define KEY_C_NUM2    CTL_DOWN
  474. #define KEY_C_NUM3    CTL_PGDN
  475. #define KEY_C_NUM4    CTL_LEFT
  476. #define KEY_C_NUM5    CTL_PADCENTER
  477. #define KEY_C_NUM6    CTL_RIGHT
  478. #define KEY_C_NUM7    CTL_HOME
  479. #define KEY_C_NUM8    CTL_UP
  480. #define KEY_C_NUM9    CTL_PGUP
  481. #define KEY_C_NUMSTOP  CTL_PADSTOP
  482. #define KEY_C_NUMCENTER  CTL_PADCENTER
  483. #define KEY_C_NUMPLUS    CTL_PADPLUS
  484. #define KEY_C_NUMMINUS   CTL_PADMINUS
  485. #define KEY_C_NUMSLASH   CTL_PADSLASH
  486. #define KEY_C_NUMSTAR    CTL_PADSTAR
  487. #define KEY_C_NUMENTER   CTL_PADENTER
  488. /* alt characters */
  489. #define KEY_A_a      ALT_A
  490. #define KEY_A_b      ALT_B
  491. #define KEY_A_c      ALT_C
  492. #define KEY_A_d      ALT_D
  493. #define KEY_A_e      ALT_E
  494. #define KEY_A_f      ALT_F
  495. #define KEY_A_g      ALT_G
  496. #define KEY_A_h      ALT_H
  497. #define KEY_A_i      ALT_I
  498. #define KEY_A_j      ALT_J
  499. #define KEY_A_k      ALT_K
  500. #define KEY_A_l      ALT_L
  501. #define KEY_A_m      ALT_M
  502. #define KEY_A_n      ALT_N
  503. #define KEY_A_o      ALT_O
  504. #define KEY_A_p      ALT_P
  505. #define KEY_A_q      ALT_Q
  506. #define KEY_A_r      ALT_R
  507. #define KEY_A_s      ALT_S
  508. #define KEY_A_t      ALT_T
  509. #define KEY_A_u      ALT_U
  510. #define KEY_A_v      ALT_V
  511. #define KEY_A_w      ALT_W
  512. #define KEY_A_x      ALT_X
  513. #define KEY_A_y      ALT_Y
  514. #define KEY_A_z      ALT_Z
  515. #define KEY_A_0      ALT_0
  516. #define KEY_A_1      ALT_1
  517. #define KEY_A_2      ALT_2
  518. #define KEY_A_3      ALT_3
  519. #define KEY_A_4      ALT_4
  520. #define KEY_A_5      ALT_5
  521. #define KEY_A_6      ALT_6
  522. #define KEY_A_7      ALT_7
  523. #define KEY_A_8      ALT_8
  524. #define KEY_A_9      ALT_9
  525. #define KEY_A_BQUOTE      ALT_BQUOTE
  526. #define KEY_A_MINUS       ALT_MINUS
  527. #define KEY_A_EQUAL       ALT_EQUAL
  528. #define KEY_A_LBRACKET    ALT_LBRACKET
  529. #define KEY_A_RBRACKET    ALT_RBRACKET
  530. #define KEY_A_BSLASH      ALT_BSLASH
  531. #define KEY_A_SEMICOLON   ALT_SEMICOLON
  532. #define KEY_A_FQUOTE      ALT_FQUOTE
  533. #define KEY_A_COMMA       ALT_COMMA
  534. #define KEY_A_STOP        ALT_STOP
  535. #define KEY_A_FSLASH      ALT_FSLASH
  536. #define KEY_A_ENTER       ALT_ENTER
  537. #define KEY_A_TAB         ALT_TAB
  538. #define KEY_A_ESC         ALT_ESC
  539. #define KEY_A_BKSP        ALT_BKSP
  540. #define KEY_A_F1      KEY_F(31)
  541. #define KEY_A_F2      KEY_F(32)
  542. #define KEY_A_F3      KEY_F(33)
  543. #define KEY_A_F4      KEY_F(34)
  544. #define KEY_A_F5      KEY_F(35)
  545. #define KEY_A_F6      KEY_F(36)
  546. #define KEY_A_F7      KEY_F(37)
  547. #define KEY_A_F8      KEY_F(38)
  548. #define KEY_A_F9      KEY_F(39)
  549. #define KEY_A_F10     KEY_F(40)
  550. #define KEY_A_F11     KEY_F(47)
  551. #define KEY_A_F12     KEY_F(48)
  552. #define KEY_A_HOME    ALT_HOME
  553. #define KEY_A_PGUP    ALT_PGUP
  554. #define KEY_A_PGDN    ALT_PGDN
  555. #define KEY_A_CURU    ALT_UP
  556. #define KEY_A_CURD    ALT_DOWN
  557. #define KEY_A_CURL    ALT_LEFT
  558. #define KEY_A_CURR    ALT_RIGHT
  559. #define KEY_A_END     ALT_END
  560. #define KEY_A_INS     ALT_INS
  561. #define KEY_A_DEL     ALT_DEL
  562. #define KEY_A_NUMPLUS ALT_PADPLUS
  563. #define KEY_A_NUMMINUS ALT_PADMINUS
  564. #define KEY_A_NUMSLASH ALT_PADSLASH
  565. #define KEY_A_NUMSTAR      ALT_PADSTAR
  566. #define KEY_A_NUMENTER     ALT_PADENTER
  567. #endif
  568.  
  569.